<?



include_once($_SERVER['DOCUMENT_ROOT'] . "/includes/loader.inc.php");

$tags = new Tags();


// Tags del area
$id_area = addslashes($_GET['area']);
$tags_listado = $tags->all($id_area);

// URL de origen
$url = $_GET['info']['url'];

// Accion
$accion = $_GET['accion'];

// ID de los casos
$casos = $_REQUEST['info']['casos'];

// Si estoy editando un solo caso...
if (count($casos) == 1) {
	$caso = current($casos);
	$caso_actual_tags = $tags->caso_listar($caso);
	$unico = true;
}

// ID de los tags
$tags_asignar = $_REQUEST['info']['tags'];

/* Tags
--------------------------------------------------------------------------------- */

if ($accion) {

	// Agrego los tags
	foreach ($casos as $key_caso => $value_caso) {
		foreach ($tags_listado as $key_tag => $value_tag) {
			// Agregar tag
			if ($tags_asignar[$key_tag]) {
				if (!$tags->agregar($key_tag, $value_caso)) {
					$mensaje['error'][] = array($value_caso, $caso->error());
				}
			// Quitar tag
			} elseif ($unico) {
				if (!$tags->eliminar($key_tag, $value_caso)) {
					$mensaje['error'][] = array($value_caso, $caso->error());
				}
			}
		}
		if (!$mensaje['error'])
			$mensaje['exito'][] = array('caso' => $value_caso, 'texto' => 'El caso se ha podido etiquetar con &eacute;xito');
	}
	
	// Guardamos la accion
	$mensaje['accion'] = $accion;

	// Ponemos los errores y exitos en un json
	$mensaje = json_encode($mensaje);

	// Y lo guardamos en la sesion, para luego mostrarlos por pantalla
	$session->setFlash($mensaje);

	// Vamos hacia la seccion correspondiente
	header("Location: $url");
	exit;

}

?>

<form method="get" action="<?=$_SERVER['PHP_SELF']?>">

	<!-- Casos a editar -->
	
	<? foreach ($casos as $key_caso => $value_caso): ?>
	
		<input type="hidden" name="info[casos][]" value="<?=$value_caso?>"/>
	
	<? endforeach; ?>
	
	<input type="hidden" name="info[url]" value="<?=$url?>">
	
	<input type="hidden" name="area" value="<?=$id_area?>">

	<h4 class="padding paddingleft">Editar tags</h4>

	<div class="m-message">
	
		<!-- Aviso  al usuario -->
		
		<? if (!$unico): ?>
		
			<span class="ghost block paddingbottom">Seleccionando muchos casos s&oacute;lo pueden agregarse tags. Para borrar tags, seleccion&aacute; un solo caso.</span>
		
		<? endif; ?>

		
		<!-- Tags del caso -->

		<? if ($tags_listado): ?>

			<ul class="tags">
				
				<? foreach ($tags_listado as $key_tag => $value_tag): ?>

				<li>
				
					<input <? if($caso_actual_tags[$key_tag]): ?> checked="true" <? endif; ?> type="checkbox" name="info[tags][<?=$key_tag?>]" value="<?=$key_tag?>" id="tag<?=$key_tag?>"/>
				
					<label for="tag<?=$key_tag?>"><?=$value_tag['tag']?></label>
					
				</li>
				
				<? endforeach; ?>
				
			</ul>
			
		<? else: ?>

			No hay tags para el area.

		<? endif; ?>

	</div>

	<div class="m-controls">

		<button type="submit" name="accion" value="<? if($caso_actual_tags): ?>editar<? else: ?>etiquetar<? endif; ?>" class="button">Aceptar</button> <button class="button" data-modal="close">Cancelar</button>

	</div>

</form>